﻿using Coldairarrow.Entity.Base;
using Coldairarrow.Entity.DTO;
using Coldairarrow.Entity.PB;
using Coldairarrow.Util;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Coldairarrow.Business.PB
{
    public partial interface IPB_RepairOrderApplyBusiness
    {
        Task<PageResult<Base_RepairOrderApply>> GetDataListAsync(PageInput<ConditionDTO> input);
        Task<Base_RepairOrderApply> GetTheDataAsync(string id);
        Task AddDataAsync(Base_RepairOrderApply data);
        Task UpdateDataAsync(Base_RepairOrderApply data);
        Task DeleteDataAsync(List<string> ids);
        Task<PageResult<Base_RepairOrderApplyDTO>> GetRepairOrderApplyList(PageInput<PB_ScheduleDetailConditionDTO> input);

        /// <summary>
        /// Pc 查看通过设备编号获取设备维修申请记录今夕
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PageResult<Base_RepairOrderApplyDTO>> GetRepairOrderDeviceId(PageInput<ConditionDTO> input,string DeviceId);
       /// <summary>
       /// 通过维修申请获取维修工单及明细数据
       /// </summary>
       /// <param name="ApplyId"></param>
       /// <returns></returns>
        Task<Base_RepairOrderApplyListInfo> GetRepairOrderApplyListInfo(string ApplyId);
        /// <summary>
        /// 查看维修明细数据
        /// </summary>
        /// <param name="ApplyId"></param>
        /// <returns></returns>
        Task<Base_RepairOrderList> GetRepairOrderList(string ApplyId);

        /// <summary>
        /// 打印维修工单
        /// </summary>
        /// <param name="ApplyId"></param>
        /// <returns></returns>
        Task<Base_RepairOrderPrint> Base_RepairOrderPrint(string ApplyId);
        /// <summary>
        /// 审核维修申请单 
        /// </summary>
        /// <param name="PurchaseId"></param>
        /// <returns></returns>
         Task ToExamineRepairOrderApply(string ApplyId);
        /// <summary>
        /// 获取维修类型
        /// </summary>
        /// <param name="ApplyId"></param>
        /// <returns></returns>
        Task<List<Base_EnumItem>> RepairOrderApplyType();

        Task EquipmentPatrolAdd(Base_RepairOrderMainAdd data);

    }
}